de255caa5a51f5562f5b3b8964a60eb2ae797e18,src/gwt/src/org/rstudio/core/client/widget/ShortcutInfoPanel.java,ShortcutInfoPanel,ShortcutInfoPanel,#,34
Before Change
SafeHtmlBuilder sb = new SafeHtmlBuilder();
List<ShortcutInfo> shortcuts =
ShortcutManager.INSTANCE.getActiveShortcutInfo();
sb.appendHtmlConstant("<table><tr><td>");
for (int i = 0; i < shortcuts.size(); i++)
{
ShortcutInfo info = shortcuts.get(i);
if (info.getDescription() == null ||
info.getShortcut() == null)
{
continue;
}
sb.appendHtmlConstant("<strong>");
sb.appendHtmlConstant(info.getShortcut());
sb.appendHtmlConstant("</strong>: ");
sb.appendEscaped(info.getGroupName() + " - " + info.getDescription());
sb.appendHtmlConstant("</br>");
if ((i + 1) % Math.floor(shortcuts.size() / 3) == 0)
sb.appendHtmlConstant("</td><td>");
}
sb.appendHtmlConstant("</td></tr></table>");
HTMLPanel panel = new HTMLPanel(sb.toSafeHtml());
After Change
sb.appendHtmlConstant("<table><tr>");
for (String groupName: groupNames)
{
sb.appendHtmlConstant("<td><h2>");
sb.appendEscaped(groupName);
sb.appendHtmlConstant("</h2><table>");
for (int i = 0; i < shortcuts.size(); i++)
{
ShortcutInfo info = shortcuts.get(i);
if (info.getDescription() == null ||
info.getShortcuts().size() == 0 ||
!info.getGroupName().equals(groupName))
{
continue;
}
sb.appendHtmlConstant("<tr><td><strong>");
sb.appendHtmlConstant(
StringUtil.joinStrings(info.getShortcuts(), ", "));
sb.appendHtmlConstant("</strong></td><td>");
sb.appendEscaped(info.getDescription());
sb.appendHtmlConstant("</td></tr>");
}
sb.appendHtmlConstant("</table></td>");
}